using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace MDSAdministration
{
    public class CompareEntity
    {
        public string Name { get; set; }
        public int EntityID { get; set; }
        public string EntityMUID { get; set; }
        public Dictionary<string,CompareAttribute> Attributes { get; set; }
        public Dictionary<string, CompareAttributeGroup> AttributeGroups { get; set; }
        public bool IsSystem { get; set; }
        public string EntityTable { get; set; }
        public string SecurityTable { get; set; }
        public string HierarchyTable { get; set; }
        public string HierarchyParentTable { get; set; }
        public string CollectionTable { get; set; }
        public string CollectionMemberTable { get; set; }
        public string StagingBase { get; set; }
        public bool IsBase { get; set; }
        public bool IsFlat { get; set; }
        public int CodeGenSeed { get; set; }
        public CompareModel Model { get; set; }
        public CompareEntity()
        {
            Attributes = new Dictionary<string, CompareAttribute>();
            AttributeGroups = new Dictionary<string, CompareAttributeGroup>();
        }

        public List<ComparedAttributes> LComparedAttributes { get; set; }
        public List<ComparedAttributeGroups> LComparedAttributeGroups { get; set; }

        public static string getEntityKey(string EntityKey)
        {
            return Constants.OBJECT_TYPE_ENTITY + EntityKey;
        }
    }
}